package com.zht.user_manger.service;

import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zht.user_manger.objectmodel.dto.User.UserListQueryRequest;
import com.zht.user_manger.objectmodel.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zht.user_manger.objectmodel.vo.User.UserListResponse;
import com.zht.user_manger.objectmodel.vo.User.UserProfileResponse;

import java.util.List;

/**
* @author fright
* @description 针对表【user(用户)】的数据库操作Service
* @createDate 2025-02-10 16:25:48
*/
public interface UserService extends IService<User> {

    long userRegister(String userAccount, String userPassword, String checkPassword);

    UserProfileResponse userLogin(String userAccount, String userPassword, HttpServletRequest request);

    UserProfileResponse getLoginUserVO(User user);

    User getLoginUser(HttpServletRequest request);

    boolean userLogout(HttpServletRequest request);

    QueryWrapper<User> getQueryWrapper(UserListQueryRequest userListQueryRequest);

    UserListResponse getUserListResponse(User user);

    List<UserListResponse> getUserVOList(List<User> records);
}
